package com.office.sysManage.deptManage.controller;

import com.office.sysManage.deptManage.pojo.Dept;
import com.office.sysManage.deptManage.service.DeptService;
import com.office.util.PageModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import java.util.List;

/**
 * @version 1.0
 * @auther wumei
 * @date 2022/10/27
 * 星期四 14:33
 */
@Controller
@RequestMapping("/dept")
public class DeptController {

    @Autowired
    private DeptService deptService;

    public DeptService getDeptService() {
        return deptService;
    }
    public void setDeptService(DeptService deptService) {
        this.deptService = deptService;
    }


    /**
     * 分页查询部门信息
     * @return 部门列表
     */
    @ResponseBody
    @RequestMapping("/queryDept")
    public PageModel<Dept> queryDept(Dept dept, PageModel<Dept> pageModel) {
        return deptService.queryDept(dept,pageModel);
    }

    /**
     * 查询部门信息
     * @return 部门列表
     */
    @ResponseBody
    @RequestMapping("/queryDeptListForUpdate")
    public List<Dept> queryDeptListForUpdate(Dept dept) {
        return deptService.queryDeptListForAdd(dept);
    }

    /**
     * 查询部门信息
     * @return 部门列表
     */
    @ResponseBody
    @RequestMapping("/queryDeptListForAdd")
    public List<Dept> queryDeptListForAdd() {
        return deptService.queryDeptListForAdd(new Dept());
    }

    /**
     * 添加部门
     * @param dept 部门对象
     * @return 是否添加成功
     */
    @ResponseBody
    @RequestMapping("/addDept")
    public boolean addDept(@RequestBody Dept dept) {
        return deptService.addDept(dept);
    }

    /**
     * 修改部门名称
     * @param dept 部门对象
     * @return 是否修改成功
     */
    @ResponseBody
    @RequestMapping("/updateDept")
    public boolean updateDept(@RequestBody Dept dept) {
        return deptService.updateDept(dept);
    }

    /**
     * 逻辑删除部门
     * @param dept 部门对象
     * @return 是否删除成功
     */
    @ResponseBody
    @RequestMapping("/deleteDept")
    public boolean deleteDept(Dept dept) {
        return deptService.deleteDept(dept);
    }

    /**
     * 根据部门名称查询部门信息
     * @param dept 部门对象
     * @return 部门对象
     */
    @ResponseBody
    @RequestMapping("/queryDeptInfo")
    public Dept queryDeptInfo(Dept dept) {
        return deptService.queryDeptInfo(dept);
    }

    /**
     * 查询所有区域
     * @return 区域集合
     */
    @RequestMapping("/queryDeptArea")
    @ResponseBody
    public List<Dept> queryDeptArea(){
        return deptService.queryArea();
    }

}
